home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / wsc4c21.zip / BCB_PGM.CPP < prev    next >
C/C++ Source or Header  |  1997-05-31  |  5KB  |  155 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "BCB_PGM.h"
  6. #include "WSC.H"
  7.  
  8. //---------------------------------------------------------------------------
  9. #pragma resource "*.dfm"
  10.  
  11. static int ThePort = COM1;
  12. static int TheBaud = Baud38400;
  13.  
  14. //---------------------------------------------------------------------------
  15.  TBCB_PGM *BCB_PGM;
  16. //---------------------------------------------------------------------------
  17. __fastcall TBCB_PGM::TBCB_PGM(TComponent* Owner)
  18.     : TForm(Owner)
  19. {//TheDC = GetDeviceContext(&WindowHandle);
  20. }
  21. //---------------------------------------------------------------------------
  22. void __fastcall TBCB_PGM::ExitClick(TObject *Sender)
  23. {
  24.  SioDone(ThePort);
  25.  Close();
  26. }
  27. //---------------------------------------------------------------------------
  28. void __fastcall TBCB_PGM::TimerTimer(TObject *Sender)
  29. {int  i, Code;
  30.  char Ch = '\0';
  31.  static int LineCount = 0;
  32.  AnsiString Text;
  33.  // gather incoming chars
  34.  for(i=0;i<128;i++)
  35.    {Code = SioGetc(ThePort);
  36.     if(Code<0) break;
  37.     // got incoming
  38.     if(i==0)
  39.       {// fetch current line
  40.        Text = Memo->Lines->Strings[LineCount];
  41.       }
  42.     // get character, ignoring CR
  43.     Ch = (char)Code;
  44.     if(Ch=='\n') break;
  45.     if(Ch=='\r') continue;
  46.     // append to current line
  47.     Text = Text + Ch;
  48.    }
  49.  // return now if no incoming
  50.  if(Ch=='\0') return;
  51.  // update current line
  52.  Memo->Lines->Strings[LineCount] = Text;
  53.  // add a new line if last incoming char was LF
  54.  if(Ch=='\n')
  55.    {Memo->Lines->Add("");
  56.     LineCount++;
  57.    }
  58. }
  59. //---------------------------------------------------------------------------
  60. void __fastcall TBCB_PGM::OnLineClick(TObject *Sender)
  61. {
  62.  SioReset(ThePort,1024,1024);
  63.  SioBaud(ThePort,TheBaud);
  64.  OnLine->Checked = true;
  65.  OffLine->Checked = false;
  66.  OnLine->Enabled = false;
  67.  OffLine->Enabled = true;
  68.  Port->Enabled = false;
  69.  Baud->Enabled = false;
  70.  BCB_PGM->Caption = "BCB_PGM OnLine";
  71. }
  72. //---------------------------------------------------------------------------
  73. void __fastcall TBCB_PGM::OffLineClick(TObject *Sender)
  74. {
  75.  SioDone(ThePort);
  76.  OnLine->Checked = false;
  77.  OffLine->Checked = true;
  78.  OnLine->Enabled = true;
  79.  OffLine->Enabled = false;
  80.  Port->Enabled = true;
  81.  Baud->Enabled = true;
  82.  BCB_PGM->Caption = "BCB_PGM";
  83. }
  84. //---------------------------------------------------------------------------
  85. void __fastcall TBCB_PGM::mCOM1Click(TObject *Sender)
  86. {
  87.  mCOM1->Checked = true;
  88.  mCOM2->Checked = false;
  89.  mCOM3->Checked = false;
  90.  mCOM4->Checked = false;
  91.  ThePort = COM1;
  92. }
  93. //---------------------------------------------------------------------------
  94. void __fastcall TBCB_PGM::mCOM2Click(TObject *Sender)
  95. {
  96.  mCOM1->Checked = false;
  97.  mCOM2->Checked = true;
  98.  mCOM3->Checked = false;
  99.  mCOM4->Checked = false;
  100.  ThePort = COM2;
  101. }
  102. //---------------------------------------------------------------------------
  103. void __fastcall TBCB_PGM::mCOM3Click(TObject *Sender)
  104. {
  105.  mCOM1->Checked = false;
  106.  mCOM2->Checked = false;
  107.  mCOM3->Checked = true;
  108.  mCOM4->Checked = false;
  109.  ThePort = COM3;
  110. }
  111. //---------------------------------------------------------------------------
  112. void __fastcall TBCB_PGM::mCOM4Click(TObject *Sender)
  113. {
  114.  mCOM1->Checked = false;
  115.  mCOM2->Checked = false;
  116.  mCOM3->Checked = false;
  117.  mCOM4->Checked = true;
  118.  ThePort = COM4;
  119. }
  120. //----------------------------------------------------------------------------
  121. void __fastcall TBCB_PGM::N9600Click(TObject *Sender)
  122. {N9600->Checked = true;
  123.  N19200->Checked = false;
  124.  N38400->Checked = false;
  125.  N57600->Checked = false;
  126. }
  127. //---------------------------------------------------------------------------
  128. void __fastcall TBCB_PGM::N19200Click(TObject *Sender)
  129. {N9600->Checked = false;
  130.  N19200->Checked = true;
  131.  N38400->Checked = false;
  132.  N57600->Checked = false;
  133. }
  134. //---------------------------------------------------------------------------
  135. void __fastcall TBCB_PGM::N38400Click(TObject *Sender)
  136. {N9600->Checked = false;
  137.  N19200->Checked = false;
  138.  N38400->Checked = true;
  139.  N57600->Checked = false;
  140. }
  141. //---------------------------------------------------------------------------
  142. void __fastcall TBCB_PGM::N57600Click(TObject *Sender)
  143. {N9600->Checked = false;
  144.  N19200->Checked = false;
  145.  N38400->Checked = false;
  146.  N57600->Checked = true;
  147. }
  148. //---------------------------------------------------------------------------
  149. void __fastcall TBCB_PGM::OnKeyPress(TObject *Sender, char &Key)
  150. {
  151.  
  152.  SioPutc(ThePort, (char)Key );
  153. }
  154. //---------------------------------------------------------------------------
  155.